This invention relates generally to printing copies of documents that have been scanned by optical scanners, digital cameras, facsimile machines, digital photocopiers, or other digital imaging devices, and more specifically to an automatic method of rotating, cropping and scaling of images for printing.
Photocopiers typically require the operator to properly orient the original document and may require the operator to select the proper paper bin. For example, for landscape mode, the operator typically must orient the original document in a landscape orientation and select a paper bin having paper in a landscape orientation. Similarly, when printing a scanned image from a computer, the operator typically must specify orientation of the image on the page. If an operator makes an inappropriate choice, resources such as toner, paper, and time may be wasted if the photocopier prints pages that are not useful or not what was expected.
Photocopiers also typically require an operator to input or choose a scale factor to reduce oversized images to fit onto the output page or to magnify small images to fit onto the output page. Some photocopiers may provide an automatic scaling feature, in which the printed document size is automatically scaled based on the dimensions of the edges of the original document.
Photocopiers typically can print to the edges of the output page. In contrast, many computer software applications, for example word processing software, force unprintable margins around the edges of a page. In addition, many computer software applications automatically scale an image to fit inside the unprintable margins. Consider an image, including printed text, that is scanned by a document scanner. Assume that the scanned image includes white space around the edges. If that scanned image is imported into a word processor and reprinted, word processing software will typically reduce the image, including the scanned margins, to fit within the printable area of a page. The net result is that the printed text is reduced in size.
In some situations, the primary goal is a printed page with an image of interest that is as large as possible. There is a need for additional automation in optimizing the printed size of a scanned image.
One goal of the present invention is make the printed image the same size as the original image (or slightly larger) when possible. The method attempts to honor the default or operator designated orientation of the printed image, but will automatically rotate the image if that will eliminate unnecessary image reduction. Optimal orientation and scaling factors are automatically determined based on the target page size and the size and shape of the original image (not the boundaries of the original document). The operator selects a desired printed orientation (or accepts a default orientation) and selects a desired printed paper size (or accepts a default printed paper size). If an image will fit within the printable margins without rotation or cropping, the image is simply printed without modification. If there is white space that can be cropped, and if the image will fit without rotation by cropping white space, then white space is cropped. If the image with all white space cropped will still not fit, and if the image is not oriented so that long sides on the cropped image align with long sides on the printed paper, then the image is rotated. If the cropped and rotated image still does not fit, the cropped and rotated image is scaled to fit within the printable margins and the image is oriented so that long sides on the cropped image align with long sides on the printed paper.